Demand Interprocedural Program Analysis Using Logic Databases
نویسنده
چکیده
Interprocedural analysis concerns the static examination of a program that consists of multiple procedures. Its purpose is to determine certain kinds of summary information associated with the elements of a program (such as reaching definitions, available expressions, live variables, etc.). Most treatments of interprocedural analysis address the exhaustive version of the problem: summary information is to be reported for all elements of the program. This paper concerns the solution of demand versions of interprocedural analysis problems: summary information is to be reported only for a single program element of interest (or a small number of elements of interest). Because the summary information at one program point typically depends on summary information from other points, an important issue is to minimize the number of other points for which (transient) summary information is computed and/or the amount of information computed at those points. There are several reasons why it is desirable to solve the demand versions of interprocedural analysis problems:
منابع مشابه
Solving Demand Versions of Interprocedural Analysis Problems
This paper concerns the solution of demand versions of interprocedural analysis problems. In a demand version of a program-analysis problem, some piece of summary information (e.g., the dataflow facts holding at a given point) is to be reported only for a single program element of interest (or a small number of elements of interest). Because the summary information at one program point typicall...
متن کاملDemand-Driven Compositional Symbolic Execution
We discuss how to perform symbolic execution of large programs in a manner that is both compositional (hence more scalable) and demand-driven. Compositional symbolic execution means finding feasible interprocedural program paths by composing symbolic executions of feasible intraprocedural paths. By demand-driven, we mean that as few intraprocedural paths as possible are symbolically executed in...
متن کاملDemand-driven Inlining in a Region-based Optimizer for ILP Architectures
Region-based compilation repartitions a program into more desirable compilation units using profiling information and procedure inlining to enable region formation analysis. Heuristics play a key role in determining when it is most beneficial to inline procedures during region formation. An ILP optimizing compiler using a region-based approach restructures a program to better reflect dynamic be...
متن کاملTowards a Formal Semantics-Based Technique for Interprocedural Slicing
Interprocedural slicing is a technique applied on programs with procedures which relies on how the information is passed at procedure call/return sites. Such a technique computes program slices (i.e. program fragments restricted w.r.t. a given criterion). The existing approaches to interprocedural slicing exploit the particularities of the underlying language semantics in order to compute progr...
متن کاملDemand-Driven Analysis of Explicitly Parallel Programs: An Approach Based on Reverse Data-Flow Analysis
Demand-driven data-flow analysis (DD-DFA) has been pioneered in the field of interprocedural analysis of sequential programs to accommodate the specific needs of analysis tools like debuggers and slicers, but also to compensate for the continuous growth of programs and program complexity making static program analyses more and more intricate and time consuming. Particularly successful in practi...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1993